package top.mccat.filesystem.service;

import top.mccat.filesystem.bean.FileMenu;
import top.mccat.filesystem.bean.MyFile;

import java.util.List;

/**
 * (FileMenu)表服务接口
 *
 * @author makejava
 * @since 2023-02-27 10:22:17
 */
public interface FileMenuService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    FileMenu queryById(Integer id);

    /**
     * 查询所有的level为1的参数
     * @return
     */
    public List<FileMenu> listFileRootMenu();

    /**
     * 进行懒加载service
     * @param parentId parentId
     * @return 懒加载参数
     */
    public List<FileMenu> queryLazy(int parentId);

    /**
     * 通过文件等级进行查找
     * @param fileLevel 文件等级参数
     * @return 文件等级列表
     */
    public List<FileMenu> queryByFileLevel(int fileLevel);

    /**
     * 列出filemenu菜单
     *
     * @return 实例对象
     */
    public List<FileMenu> listFileMenuWithTree();

    /**
     * 新增数据
     *
     * @param fileMenu 实例对象
     * @return 实例对象
     */
    FileMenu insert(FileMenu fileMenu);

    /**
     * 修改数据
     *
     * @param fileMenu 实例对象
     * @return 实例对象
     */
    FileMenu update(FileMenu fileMenu);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

}
